// pages/login/login.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    phone: '',
    password: '',
    showPassword: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  goToRegister() {
    wx.navigateTo({
      url: '/pages/register/register'
    })
  },
  togglePasswordVisibility() {
    this.setData({
      showPassword: !this.data.showPassword
    });
  },

  // 输入框输入事件处理函数
  handlePhoneInput(e) {
    this.setData({
      phone: e.detail.value
    })
  },

  handlePasswordInput(e) {
    this.setData({
      password: e.detail.value
    })
  },

  // 登录按钮点击事件处理函数
  handleLogin() {
    const {
      phone,
      password
    } = this.data

    // 非空验证
    if (!phone.trim()) {
      wx.showToast({
        title: '请输入手机号',
        icon: 'none'
      })
      return
    }

    if (!password.trim()) {
      wx.showToast({
        title: '请输入密码',
        icon: 'none'
      })
      return
    }

    const app = getApp();
    app.userRequest.userLogin({
      phone,
      password
    }).then(res => {
      const data = res.data;
      if (data.code === 400) {
        wx.showToast({
          title: data.msg,
          icon: 'none'
        })
        this.setData({
          password: ''
        })
        return
      }
      const token = res.data.data
       // 存储 token 和过期时间（重点看时间计算）
      const expiresIn = 30 * 60 * 1000; // ⚠ 30分钟的毫秒数
            wx.setStorageSync('token', token)
            wx.setStorageSync('tokenExpires',  Date.now() + expiresIn)
      // 验证通过后，进行登录操作
      wx.reLaunch({
        url: '/pages/home/home',
        success: () => {
          wx.showToast({
            title: '登录成功',
            icon: 'none',
            duration: 1000
          })
          // 设置页面不能返回
        }
      })
    })
  },
  // // 获取用户信息回调
  // onGetUserInfo(e) {
  //   if (e.detail.errMsg === 'getUserInfo:ok') {
  //     const userInfo = e.detail.userInfo
  //     // 获取微信登录凭证
  //     wx.login({
  //       success: res => {
  //         if (res.code) {
  //           // 将 code 和用户信息发送到后端
  //           const app = getApp()
  //           app.userRequest.wxLogin(res.code).then(
  //             res1 =>{
  //               console.log(res1)
  //               if (res1.data.code === 200) {
  //                 // 登录成功处理
  //                 wx.setStorageSync('token', res.data)
  //                 wx.showToast({
  //                   title: '登录成功',
  //                   icon: 'success'
  //                 })
  //                 // 跳转到首页
  //                 wx.reLaunch({
  //                   url: '/pages/home/home'
  //                 })
  //               } else {
  //                 wx.showToast({
  //                   title: res1.data.msg,
  //                   icon:'none'
  //                 })
  //               }  
  //             }
  //           )
  //         }
  //       }
  //     })
  //   } else {
  //     wx.showToast({
  //       title: '需要授权才能登录',
  //       icon: 'none'
  //     })
  //   }
  // }
// 获取用户信息方法
getUserProfile() {
  // 调用新的接口，会弹出授权窗口
  wx.getUserProfile({
    desc: '用于完善用户资料', // 声明获取用户个人信息后的用途，不超过30个字符
    success: (res) => {
      const userInfo = res.userInfo;
      
      // 获取微信登录凭证
      wx.login({
        success: loginRes => {
          if (loginRes.code) {
            // 显示加载中
            wx.showLoading({
              title: '登录中...',
            });
            
            // 将 code 和用户信息发送到后端
            const app = getApp();
            app.userRequest.wxLogin(loginRes.code, userInfo).then(res1 => {
              wx.hideLoading();
              console.log(res1);
              
              if (res1.data.code === 200) {
                // 登录成功处理

                const token = res1.data.data
                // 存储 token 和过期时间（重点看时间计算）
                const expiresIn = 30 * 24 * 60 * 60 * 1000; //一个月
                wx.setStorageSync('token', token)
                wx.setStorageSync('tokenExpires',  Date.now() + expiresIn)
                // wx.setStorageSync('token', res1.data.data);
                wx.setStorageSync('userInfo', userInfo);
                
                wx.showToast({
                  title: '登录成功',
                  icon: 'success'
                });
                
                // 跳转到首页
                wx.reLaunch({
                  url: '/pages/home/home'
                });
              } else {
                console.log(res1.data)
                wx.showToast({
                  title: res1.data.msg,
                  icon: 'none'
                });
              }
            }).catch(err => {
              wx.hideLoading();
              console.error('登录请求失败', err);
              wx.showToast({
                title: '网络错误，请重试',
                icon: 'none'
              });
            });
          }
        },
        fail: () => {
          wx.showToast({
            title: '获取登录凭证失败',
            icon: 'none'
          });
        }
      });
    },
    fail: () => {
      wx.showToast({
        title: '需要授权才能登录',
        icon: 'none'
      });
    }
  });
}

})